IFFT ============================== .. py:class:: mindradar.IFFT(n=-1, dim=-1, norm="backward") 傅里叶变换IFFT。计算表达式为: .. math:: X[\omega_1, \dots, \omega_d] = \frac{1}{\prod_{i=1}^d N_i} \sum_{n_1=0}^{N_1-1} \dots \sum_{n_d=0}^{N_d-1} x[n_1, \dots, n_d] e^{\ j\ 2 \pi \sum_{i=0}^d \frac{\omega_i n_i}{N_i}}, 其中, :math:`d` = `signal_ndim` 是信号的维度,:math:`N_i` 则是信号第 :math:`i` 个维度的大小。 参数: - **n** (int,可选) - 输出转换轴的长度。如果n小于输入的长度,则裁剪输入。如果它更大,则输入将填充零。如果未给出n,则使用沿轴指定的轴的输入长度。默认值: ``-1`` 。 - **dim** (int,可选) - 计算FFT的轴。如果没有给出,则使用最后一个轴。默认值: ``-1`` 。 - **norm** (str,可选) - 表示该操作的规范化方式,可选值:[ ``"backward"`` , ``"forward"`` , ``"ortho"`` ]。默认值: ``"backward"`` 。 - "backward",正向变换不缩放,逆变换按 :math:`1/n` 缩放,其中 `n` 表示输入 `x` 的元素数量。 - "ortho",正向变换与逆变换均按 :math:`1/\sqrt n` 缩放。 - "forward",正向变换按 :math:`1/n` 缩放,逆变换不缩放。 输入: - **x** (Tensor) - 输入Tensor的维数必须大于或等于 `dim` 。数据类型应为复数。 输出: Tensor,表示复数到复数傅里叶变换IFFT的结果。 支持平台: ``CPU`` .. note:: IFFT要求complex64或complex128类型的输入,返回complex64或complex128类型的输出。 示例: .. code-block:: python :linenos: :emphasize-lines: 7 import mindspore as ms import mindradar as mr import numpy as np x = np.exp(3j * np.pi * np.arange(10) / 10).reshape(2, 5).astype(np.complex64) x_tensor = ms.Tensor(x) ifft = mr.IFFT() out = ifft(x_tensor) print(out)